Process scheduling is a general term that may refer to how a computer system utilizes its resources. Different levels of process schedulers may manage high level selections such as which applications to execute, while mid-level or low level process schedulers may determine which sections of each application may be executed. In some cases, a mid-level or high-level process scheduler may operate within a virtual machine or other executable environment, while a low level process scheduler may operate within an operating system. A low level process scheduler may perform functions such as time slicing or time division multiplexing that may allocate processors or other resources to multiple jobs.